#ifndef _LIBSQLITECPP_
#define _LIBSQLITECPP_

#include <string>
#include <vector>
#include <sqlite3.h>

class Query;

class Database {
private:
    sqlite3 *db;

public:
    Database(std::string dbPath);
    ~Database();

    Query prepare(std::string sql);
};

class Query {
private:
    sqlite3 *db;
    std::string sql;
public:
    std::vector<std::vector<std::string> > results;
    int numColumns;

public:
    Query(sqlite3 *db, std::string sql);
    ~Query();

    void execute();
    int getNumColumns();
};

int queryCallback(void *pArg, int argc, char **argv, char **columnNames);

#endif

